package com.sbtr.business.system.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.sbtr.business.system.entity.DictionaryParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;


/**
 * 数据字典字段列表 实体类
 *
 * @author dgl
 * @since 2023-03-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="DictionaryTreeDto对象")
public class DictionaryTreeDto extends Model<DictionaryTreeDto> {

    @ApiModelProperty(value = "id")
    @TableId(value = "id")
    private Long id;

    @ApiModelProperty(value = "数据字典编码")
    private String dirCode;

    @ApiModelProperty(value = "数据字典名称")
    private String dirName;

    @ApiModelProperty(value = "系统级默认不给修改0,可修改1")
    private Integer isSystem;

    @ApiModelProperty(value = "序号")
    private Long number;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "类名")
    private String className;

    @ApiModelProperty(value = "方法名")
    private String methodName;

    @ApiModelProperty(value = "字典选项内容")
    private List<DictionaryParam> childrenParams;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
